package com.ptswitch.material.service;

import java.util.List;

import org.apache.poi.ss.usermodel.Workbook;

import com.ptswitch.material.model.material.Bom;
import com.ptswitch.material.model.material.Material;

public interface MaterialExcelService {
    public static final int OutputBomError_NONE = 0;
    public static final int OutputBomError_State = 1 << 1;
    public static final int OutputBomError_IndustryLevel = 1 << 2;

    public void buildMaterialsFromExcel(List<Material> materials, Workbook wb);

    public void buildMaterialsFromExcel(List<Material> materials, String filePath);

    public void buildBomFromExcel(Bom bom, Workbook wb);

    public void buildBomFromExcel(Bom bom, String filePath);

    public void buildDataFromZip(List<Material> materials, List<Bom> boms, String parentPath, String zipFilePath);

    public void outputDataToZip(List<Material> materials, List<Bom> boms, String parentPath, String outputDirectory);

    public Workbook outputMaterials(List<Material> materials);

    public void outputMaterials(String absouluteFilePath, List<Material> materials);

    public Workbook outputBom(Bom bom, int outputBomError);

    public void outputBom(String absoluteFilePath, Bom bom, int outputBomError);

//	public Workbook outputBomList(List<Bom> boms, String parentPath);

    public Workbook read(String filePath);

    public void write(String absoluteFilePath, Workbook wb);

}
